namespace Flywheel
{
    public class Command
    {
        public const string COMMAND_PREFIX = "Flywheel.Connect.";
        public const string SLN_EXPLR_GENERATE = "FlywheelUISlnExpr";
        public const string MENU_BAR_COMMAND_NAME = "Fl&ywheel";
        public const string MENU_BAR_ABOUT_COMMAND_NAME = "FlywheelAbout";
        public const string MENU_BAR_INSTALL_COMMAND_NAME = "FlywheelInstall";
        public const string CODE_WINDOW_GENERATE = "FlywheelUI";
        public const string MENU_BAR_EXPORT_COMMAND_NAME="ExportSolution";
        
        //public static Command ExportSolutionCommand = new Command(MENU_BAR_EXPORT_COMMAND_NAME,"&Export Solution Template","");
        public static Command CodeWindowGenerate = new Command(CODE_WINDOW_GENERATE, "&Generate Scaffolding",
                                                               "Generate Scaffolding for current Class.");

        public static Command SolutionExplorerGenerate = new Command(SLN_EXPLR_GENERATE, "&Generate Scaffolding", "Generate Scaffolding for current Class.");

        public static Command AboutCommand = new Command(Command.MENU_BAR_ABOUT_COMMAND_NAME, "&About", "Show the About Dialog");
        public static Command InstallCommand = new Command(Command.MENU_BAR_INSTALL_COMMAND_NAME, "&Install", "Install Templates into the current project.");

        private string _commandName;
        private string _commandText;
        private string _toolTip;

        public Command(string CommandName, string commandText, string toolTip)
        {
            _commandName = CommandName;
            _commandText = commandText;
            _toolTip = toolTip;
        }

        public string CommandName
        {
            get { return _commandName; }
        }

        public string CommandText
        {
            get { return _commandText; }
        }

        public string ToolTip
        {
            get { return _toolTip; }
        }
    }
}